# coding=utf-8


## 组件的基类
class Component:

    ## 依赖的组件，返回类型为 string 数组，例如 return ["docker"]，表示该组件依赖的其他组件
    def dependencies(self):
        pass;

    ## 检测安装状态，返回true或者false，用于显示是否已经安装该组件
    def check(self):
        pass;

    ## 检测运行状态，返回true或者false，表示该组件是否正在运行
    def status(self):
        pass;

    ## 安装组件 
    def install(self, rVersion : str = None):
        """
        安装组件 \n 
        rVersion 表示用户输入的版本号
        """
        pass;

    ## 更新组件
    def update(self, rVersion : str = None):
        """
        更新组件 \n 
        rVersion 表示用户输入的版本号
        """
        pass;

    ## 卸载
    def uninstall(self, removeDependencies : bool = None):
        """
        安装组件 \n 
        removeDependencies 表示表示是否卸载依赖
        """
        pass;
